package com.haigirl.singletondemo;

/**
 * @author Administrator 懒汉模式(线程不安全)
 */
public class Singleton {

	// 属性
	// ....
	// 行为
	// ...

	// （1）创建一个单例模式类的静态属性；【保证常驻内存，任何时候都可以访问到】
	private static Singleton singleton;

	// （2）将构造方法私有化；【杜绝外部通过new的方式创建改单例模式类的实例对象】
	private Singleton() {
	}

	// （3）提供一个静态的获取该单例模式类实例对象的静态方法【通过类名调用静态方法】
	/**
	 * 获取单例模式实例对象
	 * 
	 * @return 单例模式的实例对象
	 */
	public static Singleton getInstance() {
		// 如果静态属性变量 singleton还没有创建则初始化该变量
		if (singleton == null) {
			// new 创建该变量
			singleton = new Singleton();
		}
		// 返回静态属性
		return singleton;
	}
}
